      SUBROUTINE INPUT0(X,Y,RCEX,VCC,INC,NFIX,NEPE,I_ELET,NCasos,
     &                  IDCASO,ITCC,NG,NE)
                        

      IMPLICIT DOUBLE PRECISION (A-H,O-Z)

      INCLUDE 'param_dim.inc'

      INTEGER       FDAT,FDCC,FDEX,FRES,FROT
      COMMON /narq/ FDAT,FDCC,FDEX,FRES,FROT



      COMMON /incdata/ C0,CINC,NNINC,NUMPI,NUMPCI,NINCL,VARIA

      

      character TITULO*72
      DIMENSION X(NX),Y(NX),INC(NX,2)
      DIMENSION RCEX(NRCX)

      DIMENSION NNINC(ninc_max),CINC(ninc_max)
	integer NUMPI(ninc_max),NUMPCI(ninc_max)
      integer VARIA(ninc_max)
      DIMENSION PGLIM(nparg_max,3)      

      INTEGER IDCASO(NCasosX,3),I_ELET(16,NELEX)

C
C N=   Numero de elementos de contorno.
C L=   Numero de pontos internos onde a funcao e calculada.
C
      WRITE(FRES,100)
  100 FORMAT(' ',80('*'))
C
C Leitura do Titulo do problema.
C
      READ(FDAT,150) TITULO
  150 FORMAT(A72)
      WRITE(FRES,250) TITULO
!        write(*,250) titulo

  250 FORMAT(5X,A72)
C
C Leitura dos parametros basicos.
C
      READ(FDAT,*)NFIX, NEPE, NCasos, ITCC, VCC, C0
 200  FORMAT(4I10,2F10.4)

C     Inicialmente NEPE deve ser considerado impar e o 
C     potencial do eletrodo a ser considerado ser� o do
C     elemento do meio.

C     Numero de elementos fixos igual ao nimero de nos 
      NEFIX= NFIX

C Numero de pontos de integra��o
      NG=8

      WRITE(FRES,300) NFIX,NFIX,NG,NEPE,NCasos,ITCC,VCC,C0
  300 FORMAT(//2X,'DADOS'//,
     *  5x,'NUMERO DE NOS PARA DEFINICAO DA GEOMETRIA =',I4,/,
     *  5X,'NUMERO DE ELEMENTOS DE CONTORNO           =',I4,/,
     *  5X,'NUMERO DE PONTOS DE GAUSS                 =',I4,/,
     *  5X,'NUMERO DE ELEMENTOS POR ELETRODO          =',I4,/,
     *  5X,'NUMERO DE CASOS DE CARREGAMENTO           =',I4,///,
     *  5X,'TIPO DE SOLICITACAO (1=> Corrente)        =',I4,/,
     *  5X,'VALOR DA SOLICITACAO                      =',F12.4,/,
     &  5x,'CONDUTIVIDADE DO MEIO                     =',F12.4,/)

      IF (NFIX.GT.NX) STOP 'NUM. INCOGNITAS MAIOR QUE O DIMENSIONADO' 

C
C Leitura das coordenadas dos pontos extremos dos elementos de
C contorno nos vetores X e Y.
C
      WRITE(FRES,500)
  500 FORMAT(//2X,'COORDENADAS DOS PONTOS EXTREMOS DOS ELEMENTOS DE '
     *       ,'CONTORNO FIXOS',//4X,'PONTOS',10X,'X',18X,'Y')
      DO 10 I=1,NFIX
         READ(FDAT,*)k,X(k),Y(k)
 10   CONTINUE

      DO I=1,NFIX
         WRITE(FRES,700)I,X(I),Y(I)
  700    FORMAT(5X,I3,2(5X,E14.7))
	END DO

C
C Leitura das incidencias dos elementos.
C
      DO I=1,NFIX
         READ(FDAT,*) K,INC(K,1),INC(K,2)
C 750     FORMAT(*)
      END DO

      WRITE(FRES,760)
 760  FORMAT(//2X,'INCIDENCIA DOS ELEMENTOS FIXOS',//4X,'ELEMENTO',5X,
     &            'NO INICIAL',5X,'NO FINAL',5x,'COMPRIMENTO')

      DO I=1,NFIX
         dx= x(inc(i,2)) - x(inc(i,1))
         dy= y(inc(i,2)) - y(inc(i,1))
         xl = sqrt(dx*dx + dy*dy)
         WRITE(FRES,770) I, INC(I,1), INC(I,2), xl
 770     FORMAT(6X,I3,12X,I3,9X,I3,5X,F12.4)
      END DO



C
C Leitura das condicoes de contorno.
C FI(I)= Valor do potencial no noh se KODE=0 .

      
C     Le E ESCREVE os nos que compoem os eletrodos

      DO I = 1,16
         READ(FDCC,*) (I_ELET(I,J),J=1,NEPE)
      ENDDO


      WRITE(FRES,780) 
 780  FORMAT(//,2X,'DISCRETIZACAO DOS ELETRODOS',//,
     &          2X,'ELETRODO',5X,'ELEMENTOS',/)     

      DO I=1,16
         WRITE(FRES,790) I,(I_ELET(I,J),J=1,NEPE)
 790     FORMAT(2X,I5,10X,3I5)
      ENDDO


C     Le a definicao dos casos de carga em funcao dos eletrodos
C     eletrodo de entrada
C     eletrodo de saida 
C     eletrodo de referencia (potencial 0)

      DO I =1,NCasos
         READ(FDCC,*) (IDCASO(i,j),j=1,3)
      ENDDO

C     Impressao dos Casos de Carga

      WRITE(FRES,800)
 800  FORMAT(/,'  Definicao dos Casos de Carga ',//,
     &         '  Caso     Eletrodo    Eletrodo   Eletrodo',/,
     &         '           Entrada      Saida     Referencia',/)
      DO I =1,NCasos
         WRITE(FRES,1020) I, (IDCASO(i,j),j=1,3)
 1020    FORMAT( I5,3i12)
      ENDDO

      NRC= NCASOS*(16-3)
!       NRC= NCASOS*(16-2)

      READ(FDEX,*)(RCEX(I),I=1,NRC) 
      
      read(fdex,*) !linha vazia
      read(fdex,*)snr
      open(1,file='snr.tmp')
      write(1,*)snr
      write(*,*)'snr: ',snr      
      close(1)
      
      WRITE(FRES,1030) (RCEX(I),I=1,NRC)
 1030 FORMAT(21(5E12.4,/))

      RETURN
      END



